System and method for animating virtual characters

ABSTRACT

System and methods for defining and applying animations to virtual characters with interchangeable body parts that may be combined to form composite virtual characters are disclosed. According to aspects of the invention, a software program running on a gaming platform comprises a plurality of virtual characters, each comprising a plurality of interchangeable body parts. An animation clip may be defined for an interchangeable body part of a first virtual character. The animation clip may be defined for the first virtual character&#39;s interchangeable body party using a virtual skeleton that has the bones of the interchangeable body part and the bones of one or more generic body parts. The defined animation clip may control one or more of the bones of the interchangeable body part and one or more of the bones of the one or more generic body parts.

BACKGROUND OF THE INVENTION

The present invention relates generally to animating a virtualcharacter, such as those found in video games or animated movies, andmore particularly to animating a virtual character comprised of parts ofother virtual characters.

Animating a virtual character typically involves building an animatedthree-dimensional (3D) character model that is rigged with a virtualskeleton. A character rig generally includes the character's virtualskeleton bound to the character's 3D mesh or skin. The virtual skeletontypically includes a plurality of joints and/or bones that can bemanipulated to move or deform the model into different poses. Thevirtual skeleton provides the basic form of the virtual character. Forexample, a humanoid virtual character may have a virtual skeleton thathas bones representing a human form (e.g., a head bone, spine bones,arm/hand bones, leg/feet bones, pelvic bones, etc.). On the other hand,a reptilian virtual character may have a virtual skeleton that has bonesrepresenting a reptile (e.g., a tail bone, four leg bones, spine bones,elongated skull and facial bones, etc.). FIG. 12, discussed in greaterdetail below, depicts a generic humanoid virtual skeleton 1200comprising a torso body part 1210 and a legs body part 1220 with variousbones and joints. Surfaces, which may used to convey skin, hair,texture, eyes, mouth, etc., may also be added to the virtual character.

Traditionally, a given virtual character may have one animation rig and,correspondingly, one virtual skeleton. Animators create animation clips(or animations) for the virtual character that manipulate the virtualcharacter's joints and/or bones into various positions and poses. Theseanimation clips can be used to define the virtual character's movementsand behaviors. For example, virtual characters in a video game may havepredefined animation clips associated with movements and actions such asidling, walking, running, attacking, jumping, receiving damage, castingspells, climbing, flying, speaking, using items, or any other movementor action. The animation clips may apply to and/or control all or asubset of the virtual skeleton's bones. Often, the animation clips foreach virtual character will be used to impart personality to the virtualcharacter. For example, the idling animation for virtual character A maybe rigid and upright, suggesting a formal or restricted personality. Onthe other hand, the idling animation for virtual character B may beslouched and relaxed, suggesting a laid back personality. Virtualcharacters, as the term is used herein, may be non-human charactersand/or objects, including monsters, animals, robots, weapons, clothing,vehicles, or any other in-game characters or objects. The animationclips defined for virtual characters may help portray the uniquecharacteristics of those virtual characters. For example, the idleanimations for a monster-like virtual character may include menacingactions like showing his teeth or growling.

In a given period of time (or timeline), multiple animations may affectone or more bones of a virtual character's skeleton. This technique issometimes called layering. For example, virtual character A may beanimated by simultaneously applying a running animation clip and alaughing animation clip to the virtual character. The running animationmay control all of the bones of virtual character A, while the laughinganimation may only control a subset of bones, such as those in the face.By layering these two animation clips, virtual character A appears to belaughing while running. Different weights may be applied to the variousanimation clips that are layered on a given virtual character'sskeleton. The weights define the relative impact of the layeredanimation clips. For example, the laughing animation clip may be heavilyweighted relative to the running animation clip with respect to thevirtual character's facial bones, thus allowing the laughing animationto assert more control over the facial bones when the two animations arelayered.

Aspects of the present invention relate to situations in which virtualcharacters are combinations of interchangeable parts from one or moredifferent and independently animated virtual characters. Suchcombination characters will be referred to herein as composite virtualcharacters. An example composite virtual character might have the upperbody of a reptilian virtual character and the lower body of a robotvirtual character. Of course, this is merely an example, and the numberof composite virtual characters is limited only by the number of virtualcharacters available for combination.

Animating composite virtual characters presents certain challenges. Toillustrate some of these challenges, consider the case of a compositecharacter that combines the upper body of virtual character A with thelower body of virtual character B. If virtual character A and virtualcharacter B have distinct and conflicting animation clips denotingdifferent behaviors and personalities, simply applying the predefinedanimation clips for virtual character A and virtual character B to theirrespective body parts may result in disjointed and unconvincinganimations for the composite virtual character. For example, virtualcharacter A's personality may be portrayed as rigid and formal, thus hisidle animation clip may be stiff and relatively still. Virtual characterB, on the other hand, might be portrayed as excitable and nervous, andthus his idle animation clip may include fidgeting and twitchingmotions. By simply applying virtual character A's idle animation clip tothe composite character's upper body and virtual character B's idleanimation clip to the composite character's lower body, the resultingidle animation for the composite character would appear to portraycontradictory personalities for the upper and lower bodies and wouldlack cohesiveness.

Another challenge of animating composite virtual characters is properlyaligning and layering the animations between the various parts of thecombined virtual characters, as Character A and Character B's animationsare built for skeletons that have no notion of the final compositeskeleton. The attack animation for virtual character A's upper body, forexample, may not align properly with the attack animation for virtualcharacter B's lower body. Traditionally, one solution to this problemhas been to create a skeleton mapper that maps all bones from aparticular animation to fit into the new skeleton rig of a compositecharacter. This process, however, is labor intensive and requires ananimator or some other designer to make decisions as to which boneanimations will affect the respective bone(s) in the composite skeleton.

Another solution to the described challenges is to create animationclips for every conceivable combination of virtual characters fromscratch. But this solution is also burdensome and impractical.Furthermore, anytime a new virtual character is introduced, animationsfor an entire new set of composite virtual characters using this newvirtual character must be created.

BRIEF SUMMARY OF THE INVENTION

In accordance with aspects of the invention, a software program runningon a gaming platform comprises a plurality of virtual characters, eachcomprising a plurality of interchangeable body parts. An animation clipmay be defined for an interchangeable body part of a first virtualcharacter. The animation clip may be defined for the first virtualcharacter's interchangeable body party using a virtual skeleton that hasthe bones of the interchangeable body part and the bones of one or moregeneric body parts. The defined animation clip may control one or moreof the bones of the interchangeable body part and one or more of thebones of the one or more generic body parts.

In accordance with aspects of the invention, the plurality of virtualcharacters comprises a second virtual character with interchangeablebody parts. The defined animation clip for the first virtual character'sinterchangeable body part may be applied to the generic bones of thesecond virtual character.

In accordance with aspects of the invention, the software programrunning on the gaming platform may command display of a compositevirtual character on a display device associated with the gamingplatform, the composite virtual character comprising the firstinterchangeable body part from the first virtual character and a secondinterchangeable body part from the second virtual character. Thesoftware program may control animation of the second interchangeablebody part from the second virtual character using the defined animationclip for the first interchangeable body part from the first virtualcharacter.

According to aspects of the invention, the first virtual character maycorrespond to a first toy comprising a plurality of toy parts, and thesecond virtual character may correspond to a second toy comprising aplurality of toy parts. Toy parts from the first toy and second toy maybe connected, combined or assembled together to form a toy assemblyrepresenting the composite virtual character. The toy assembly and/orindividual toy parts may be configured to communicate with the gamingplatform. The toy assembly may communicate with the gaming platformeither directly or via a peripheral device. The software program runningon the gaming platform may be used to identify the individual toy partsand determine the corresponding toy assembly and composite virtualcharacter. The gaming platform then displays the composite virtualcharacter in a virtual environment on the display device.

In some embodiments, a user of the gaming platform can interchange thefirst toy part and second toy part with additional toy parts from aplurality of virtual characters. The interchanging of toy parts causes acontemporaneous graphical display of the new toy assembly'scorresponding composite virtual character. Accordingly, a user canaffect the appearance and interaction between the composite virtualcharacter and the virtual environment by modifying the physical toyparts and accessory parts.

In some embodiments, each toy part may be configured with anidentification tag, such as an RFID tag with a numeric or alphanumericcode providing an identification of the toy part. Each toy part maycommunicate with the gaming platform, either directly, via a peripheralor via other toy parts or any combination thereof, to provide the gamingplatform with the identification information in the tag. For example, insome embodiments, a peripheral is in communication with the gamingplatform. The toy assembly comprising the plurality of toy parts may beplaced on or in proximity of the peripheral. The toy part closest to theperipheral may include an antenna for communicating with the peripheral.The other toy parts comprising the toy assembly may communicate with thetoy part closes to the peripheral either through wireless transmissionor wired transmission.

In some embodiments, each toy part includes a rewritable memory.Information relating to the toy part may be stored in the memory. Forexample, information pertaining to the ownership of the toy part, theuse of the toy part in connection with one or more gaming platforms orattributes of the toy part within the virtual environment may be storedin the memory. For example, as the user uses the toy part in connectionwith playing a video game on a gaming platform, data relating toaccomplishments and challenges overcome by the user in the video gamemay be stored in the memory of the toy part. As another example, theuser may be given opportunities to modify certain virtual attributesassociated with one or more toy parts as he or she plays the video game.The stored information may be used in subsequent gaming sessions andacross various gaming platforms so that the virtual attributes of eachtoy part an each accessory part persist.

In some embodiments, toy parts may comprise accessories. For example, atoy part may be a weapon, clothing item, hat, shield, armor, shoes orother accessories that may be connected, attached, interlocked with orotherwise combined with a toy assembly having one or more parts.

Some aspects of the invention provide a computer-implemented method foranimating a composite virtual character, comprising: displaying acomposite virtual character comprising a first part from a first virtualcharacter and a second part from a second virtual character, andanimating the composite virtual character, wherein animating thecomposite virtual character comprises substantially simultaneouslyanimating first portions of the first part from the first virtualcharacter and second portions of the second part from the second virtualcharacter using an animation defined for the first virtual character andanimating at least first portions of the second part from the secondvirtual character using an animation defined for the second virtualcharacter.

Some aspects of the invention provide a video game system, comprising: agame device having an input device and a processor for executing programcode for providing for play of a videogame; a plurality of physicalparts from a plurality of toy figures that are physically combinable toform a composite toy assembly, the plurality of physical parts includingmemory providing a unique identification of each physical part andconfigured to communicate said unique identification; said program codehaving instructions for providing a graphical display of a compositevirtual character representing said composite toy assembly, saidcomposite virtual character comprised of virtual parts representingphysical parts combined to form the composite toy assembly; said programcode further having instructions for providing a virtual environment forsaid composite virtual character; wherein said movement and actions ofsaid composite virtual character are controlled, in response to inputsreceived by said input device, by at least one animation defined for atleast one of said virtual parts and at least one other animation definedfor at least one other one of said virtual parts, with the at least oneanimation defined for at least one of said virtual parts completelycontrolling movement and actions of some elements of said compositevirtual character and partially controlling movement and actions ofother elements of said composite virtual character.

Some aspects of the invention provide a computer implemented methodincluding animating a character comprised of different portions derivedfrom other characters, some of the different portions including bodyelements of a first type and some of the different portions includingbody elements of a second type, the method comprising: applying, foreach of the different portions including body elements of the firsttype, an animation routine defined for the different portion for theother character from which the different portion was derived for thebody elements of the first type; and applying in a weighted manner, foreach of the different portions including body elements of the secondtype, the animation routines defined for the different portion for theother characters for the body elements of the second type.

Some aspects of the invention provide a method of animating a characterdefined by a combination of elements of other characters, some of whoseelements are considered generic to a plurality of characters and some ofwhose elements are considered specific to each of the other characters,with no animation routines being predefined for the character but withanimation routines being predefined for the other characters, the methodcomprising: determining characters serving as a source of elements ofthe character; receiving a command for display of a particular animationroutine for the character; generating the particular animation routinefor the character by: applying corresponding character specificpredefined animation routines to elements of the character that areconsidered specific to the characters serving as the source of elementsof the character, and applying weighted sums of the correspondingcharacter specific predefined animation routines to elements of thecharacter that are considered generic to the characters serving as thesource of elements of the character.

These and other aspects of the invention are more fully comprehendedupon review of this disclosure.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram illustrating an example of a video game systemin accordance with aspects of the present invention;

FIG. 2A depicts an example of a toy assembly for use in conducting avideo game in accordance with aspects of the present invention;

FIG. 2B depicts an example of a toy assembly for use in conducting avideo game in accordance with aspects of the present invention;

FIG. 2C depicts an example of a composite toy assembly for use inconducting a video game in accordance with aspects of the presentinvention;

FIG. 3 is a diagram depicting electronic components of toy parts inaccordance with aspects of the present invention;

FIG. 4 is a diagram depicting electronic components of toy parts inaccordance with aspects of the present invention;

FIG. 5 illustrates an example of a video game system in accordance withaspects of the invention;

FIG. 6 is a flow diagram of a process for selecting and communicatingwith toy parts in accordance with aspects of the present invention;

FIG. 7 is a flow diagram of a process for conducting video game play inaccordance with aspects of the present invention;

FIG. 8 is a flow diagram of a process for conducting video game play inaccordance with aspects of the present invention; and

FIG. 9 depicts a flow diagram of a process for identification of one ormore toy assemblies by the game platform.

FIG. 10 depicts a flow diagram of a process defining an animation for avirtual character's interchangeable body part in accordance with thepresent invention.

FIG. 11 depicts a flow diagram of a process for animating compositevirtual characters in accordance with aspects of the present invention.

FIG. 12 depicts an exemplary generic virtual skeleton in accordance withthe present invention.

FIG. 13 depicts an exemplary modified virtual skeleton in accordancewith the present invention.

FIG. 14 depicts an exemplary virtual skeleton of a composite virtualcharacter in accordance with the present invention.

DETAILED DESCRIPTION

FIG. 1 is a block diagram illustrating an example of a video game systemin accordance with aspects of the present invention. Referring to FIG.1, the video game system 100 includes game system 140 and a toy assemblycomprised of a plurality of component toy parts 120 a-n. The toyassembly may consist of toy parts associated with a single character, orthe toy assembly may consist of toy parts from a plurality of characters(referred to as a “composite toy assembly”). The toy parts may bephysically combined, coupled, connected or otherwise adjoined to createa toy assembly. In some embodiments, the toy parts may be coupled in aninterlocked fashion to create a toy assembly, for example via a physicallocking mechanism, electromagnetic or other locking mechanism. Invarious embodiments the toy parts 120 a-n may be connected by a force,for example a physical or electromagnetic force, such as by way ofinterlocking physical components, frictional fittings, or magneticcouplings, or by way of other known connections.

Each of the toy parts 120 a-n may include a rewriteable data storagecomponent, such as RAM or rewritable RFID tag. The memory or tag maystore data reflecting the identification of the toy part. In addition,in various embodiments the memory may store other data corresponding toa portion of a character or other object within the game executed ongame platform 140 which the toy part represents. The other data mayinclude data such as strength, experience, wealth, health, ownership,achievements, activity level, use or other game play data of the portionof the character or other object. For example, if the toy partcorresponds to an arm of a character in game play, the memory of the toypart may store information regarding strength or health of the arm. Insome embodiments the memory may store other data, for example the otherdata mentioned above, with respect to a character or object as a whole,and in some embodiments all toy parts which in combination correspond tothe character or object may store some or all of such information. Thememory may be rewritable so that the stored attributes andcharacteristics of the toy parts may be updated during each game sessionand utilized in subsequent game sessions.

The game platform 140 is a system for executing game software and invarious embodiments may comprise a device such as a personal computer,laptop, tablet, game console, portable game platform, or mobile device,or in some embodiments one or more devices in communication with one ormore servers. In some embodiments the game platform 140 comprises aprocessor for executing program instructions providing for game play andassociated circuitry, a video game controller 180, a display device 170,and in some embodiments a peripheral device (not shown in FIG. 1) forcommunicating with a toy or toy parts.

The game platform 140 may connect or be coupled to a display device orhave a display device integrated with or within the game platform fordisplaying graphics associated with the game operating on the gameplatform 140. The instructions providing for game play may be stored onremovable media, for example, an optical disk or cartridge, or otherwisestored in memory of the game platform. Accordingly, the game platform,for example a game console, may include an optical drive, for example, aDVD-ROM drive, for reading the instructions for game play. In otherembodiments, the instructions providing for game play may be stored in aremote server that are accessed by a game platform, for example acomputer, PC, game console, or mobile device. In yet other embodiments,the instructions providing for game play may be stored locally in thegame device memory.

The toy parts 120 a-n may communicate with game platform 140 directly orvia a peripheral device. In some embodiments a first toy part 120 a maycommunicate information to second toy part 120 b and the second toy part120 b may communicate information relating to both first toy part 120 aand second toy part 120 b to game platform 140, either directly or viaperipheral 130 as depicted in FIG. 1. Similarly, in some embodimentsmultiple toy parts may communicate information to the second toy part,either directly or through one or more intervening toy parts, with thesecond toy part communicating information to the game platform, eitherdirectly or through the peripheral. In alternative embodiments, the toyparts 120 a-n communicate with game platform 140 independently.

FIGS. 2A and 2B depict examples of toy assemblies for use in conductinga video game in accordance with aspects of the present invention. Thetoy assemblies depicted in FIGS. 2A and 2B each consist of toy parts fora single character. FIG. 2A depicts a toy assembly 200 configured as areptilian toy figure. FIG. 2B depicts a toy assembly 250 configured as arobot toy figure. Of course, toy assemblies 200 and 250 could instead beconfigured as an action figure, robot figure, a vehicle, humanoidfigure, monster figure, or other toy figure. Toy assembly 200 and 250 ofFIGS. 2A and 2B each include two toy parts: a torso 220, 260 and legs230, 270. Although two toy parts are shown, the number and type of toyparts are exemplary only and should not be considered as limiting. Forexample, the head and/or arms included in torso 220, 260 and the tail240 included in the legs 230 may also be provided as separate toy parts.

FIG. 2C depicts an example of a composite toy assembly for use inconducting a video game in accordance with aspects of the presentinvention. As discussed, composite toy assemblies consists of toy partsfrom a plurality of characters. Composite toy assembly 280 includes twotoy parts: a torso 290 and legs 295. In this particular example,composite toy assembly 280 combines the torso of toy assembly 200 andlegs of toy assembly 250.

Each of the different toy parts may be part of a class of toy parts foruse in various toy assemblies. That is, a toy assembly may be configuredaccording to preference using a plurality of interchangeable torso partsand a plurality of interchangeable leg parts. For example, either torso220 or torso 260 may be replaced with a different torso from a differentcharacter to create a new composite character. In some embodiments, thetoy parts comprise accessories or other objects to be used by the toycharacter. For example, a toy part may comprise a weapon, shield, tool,clothing, accoutrements or other item.

The toy parts may be physically combined, coupled, connected orotherwise adjoined to create a toy assembly. In some embodiments, thetoy parts may be coupled in an interlocked fashion to create a toyassembly, for example via a physical locking mechanism, electromagneticmechanism or other locking mechanism. In some embodiments, theconnectors for each of the toy parts may be configured so as to restrictconnection of toy parts, for example, to restrict use of a torso toypart to replace a legs toy part.

Each toy part includes machine-readable information, for example,memory, a radio frequency identification (RFID) tag or a barcode. Themachine-readable information may be sensed, read, and/or in someembodiments written, directly by a game console, or in some embodimentsindirectly by way of sending data and commands to the toy to write thedata to memory of the toy parts. The machine-readable information mayinclude a numeric identifier. In some embodiments, the communicationwith the toy may be conducted via a peripheral such as a peripheral orother reader. The machine-readable information allows the reader, or theprocessor of the game console, to distinguish one toy part from othertoy parts, and the machine-readable information may therefore beconsidered to include a toy part identifier, and in some embodiments,each particular toy part may have its own distinct identifier. Inaddition, in some embodiments the machine readable information includesadditional information related to player achievement in a video gamewhen the part is in use.

FIG. 3 is a diagram depicting an embodiment of the electronic componentsof toy parts in connection with the present invention. First toy part310 comprises an RFID tag 315. RFID tag 315 utilizes a wireless systemthat uses radio-frequency electromagnetic fields to transfer data from(and in various embodiments to) the tag coupled, for example forpurposes of automatic identification and tracking. Some tags require nobattery and are powered by the electromagnetic fields used to read them.Others use a local power source and emit radio waves (electromagneticradiation at radio frequencies).

RFID tag 315 contains numerical information for identifying first toypart 310. First toy part 310 may be physically coupled to a second toypart 320. Second toy part 320 includes a circuit 325, for example aninductor circuit, for receiving the RFID electromagnetic field from RFIDtag 315 in first toy part 310. When first toy part 310 and second toypart 320 are sufficiently proximate to one another or in contact withone another, the numerical information in RFID tag 315 is transmitted tothe inductor circuit 325. Inductor circuit 325 is electronically coupledto an interface 327, such as a near field transmitter, in second toypart 320. Interface 327 communicates with peripheral 330. The near fieldtransmitter may also be an RFID tag, in some embodiments.

The peripheral 330 includes a radio-frequency interface 335 tocommunicate with toys and/or toy parts. In many embodiments, theradio-frequency interface is an RFID interface. In other embodiments,the peripheral may include a different interface for communicating withtoys, such as an optical interface or a wired interface. Further in someembodiments the toy may include a wired connection to the peripheraldevice, or in some embodiments, a wired connection to the game platform,possibly dispensing with the peripheral device. Similarly, in someembodiments the toy may include wireless communication capabilities ofthe type commonly used with computers, for example Bluetooth, NFC orWi-Fi capabilities. The peripheral 330 may then transmit the informationreceived from RFID tag 315 associated with first toy part 310 andinformation received from an RFID tag in second toy part 320 to a gameplatform utilizing antenna 340.

FIG. 4 is a diagram depicting an embodiment of the electronic componentsof toy parts in connection with the present invention. First toy part410 comprises an RFID tag or a storage device. The RFID tag containsnumerical information for identifying first toy part 410. First toy part410 may be physically coupled to second toy part 420. First toy part 410includes one or more plugs or connectors 430 that fit into areceptacle(s) 440 on second toy part 420. In some embodiments, theconnector(s) 430 and receptacle(s) 440 may be used to provide anelectrical connection between the two toy parts to enable thetransmission of data between the connected toy parts. In someembodiments, the first toy part 410 and second toy part 420 may utilizemagnetic connectors to maintain contact between the toy parts. Forexample, the first toy part 410 and second toy part 420 may each have amagnetic element. When the connector(s) 430 and receptacle(s) 440 arebrought into proximity, the magnetic attraction between the magnet andits complement, whether another magnet or a ferromagnetic material,maintains the toy parts in contact with one another. In embodiments inwhich the connectors are used to provide electrical connection betweenthe toy parts, the magnetic elements may maintain the contacts in anelectrically conductive relationship. When the connectors associatedwith first toy part 410 are in contact with receptacle associated withsecond toy part 420, data from a memory device or numerical informationin an RFID tag in first toy part 410 may be transmitted to second toypart 420 for subsequent transmission to a game platform, and/or in someembodiments vice versa. In some embodiments strength of transmitters forcommunication between the two toy parts are selected to be sufficientlylow to require contact between the toy parts to allow for successfulcommunication between the toy parts. Such a configuration may bebeneficial, for example, to reduce or eliminate interference with othercommunications to the game platform or a peripheral, or receipt ofextraneous communications by same.

FIG. 5 illustrates an example of a video game system in accordance withaspects of the invention. The video game system includes a game console550 with a processor for executing program instructions providing forgame play and associated circuitry, user input devices such as a gamecontroller 555, a display device 560 for displaying game action, aperipheral device 540, and a toy assembly 575. Toy assembly 575 iscomprised of a plurality of interconnected toy parts, including headpart 575 a, torso part 575 b, arm parts 575 c, leg parts 575 d, and tailpart 575 e, each of which includes memory storing identificationinformation.

The peripheral device 540 may provide the capability to read and writeinformation to the toy assembly 575 and/or its component toy parts. Theprocessor, responsive to inputs from the user input devices and theperipheral device, generally commands display on the display device ofgame characters in and interacting with a virtual world of game play andpossibly each other. In addition, the processor, responsive to inputsfrom the peripheral device, may be used to add characters and objects tothe virtual world, with the characters able to manipulate the addedobjects and move about the virtual world. For example, the processor mayinclude characters in game play based on inputs from the peripheraldevice, and the processor may control actions and activities of gamecharacters based on inputs from the user input devices.

The instructions providing for game play are generally stored onremovable media, for example, an optical disk. Accordingly, the gameconsole may include an optical drive, for example, a DVD-ROM drive, forreading the instructions for game play. In some embodiments, the gameconsole may be a personal computer, including similar internal circuitryas herein described, as well as, for example, a built-in display andbuilt-in user input devices, such as a keyboard and a touch pad. Inother embodiments, the instructions providing for game play may bestored in a remote server that are accessed by a computer or mobiledevice. In yet other embodiments, the instructions providing for gameplay may be stored locally in the game device memory.

The display device is generally coupled to the game platform by a cable,although in some embodiments a wireless connection may be used. In manyembodiments, the display device is a liquid crystal display. In someembodiments, the display device is a television. In some embodiments,the display device is a cathode ray display, a plasma display, anelectroluminescent display, an LED or OLED display, or other display. Adisplay screen 570 of the display device displays video images of gameplay, generally as commanded by the processor or other associatedcircuitry of the game platform. In the embodiment of FIG. 5, the displayscreen shows a screen shot of video game play. As illustrated, thescreen shot shows a display of a character, generally controlled by andanimated in accordance with user inputs, approaching an inanimate itemin the form of what may be considered a castle.

The peripheral device, in some embodiments and as shown in FIG. 5, has asubstantially flat upper surface for placement of toys thereon. The gameplayer generally places game toys, for example, toy assembly 575 in theform and representative of a dragon as shown in FIG. 5, on the flatsurface of the peripheral device during game play. The toy assembly 575is generally in the form of and representative of a game item such as agame character or other game item. In several embodiments, the toyassembly is associated with a game character during game play.

Peripheral 540 includes a surface 545 where toy assembly 575 may beplaced. Peripheral 540 may be coupled with a game platform 550 eitherthrough a wired or wireless connection. Game platform 550 may be anyform of game platform, such as game console (e.g., Xbox, Playstation,Wii, NDS), computer, mobile device or other device for executing gamesoftware either locally or from a server. The game platform 550 executessoftware for a video game. The game platform 550 may be connected to adisplay 560. In other embodiments, a display may be incorporated intothe game platform 550, such as in mobile devices or portable computerdevices.

The display 560 provides for the visual display of graphics associatedwith the game 570. A software program running on the game platform 550allows the game platform 550 to identify the individual toy parts anddetermine the corresponding toy assembly 575. The game platform 550 thendisplays graphically a virtual character representing the toy assembly575 comprised of the toy parts assembled or combined together. In someembodiments, the toy assembly 575 may be a composite toy assemblycomprised of toy parts from different toy figures. In such embodiments,the corresponding virtual character representing the toy assembly 757would be a composite virtual character. The virtual character orcomposite virtual character may be displayed in a virtual environment ona display device 560 associated with the game platform 550. The toyparts interact dynamically with the software program so that the virtualcharacter representing the toy on the display device corresponds to thephysical appearance of the toy assembly. The user can interchange toyparts with a contemporaneous graphical display of the correspondingvirtual character. Accordingly, a user can affect in real time theappearance and interaction between the virtual character and the virtualenvironment by modifying the physical toy parts and accessory parts.

A user may control the movements of the virtual character (or compositevirtual character) in the game using a controller 555. The controller555 may be a separate from the game platform 550 or integrated therein.

Each toy part 575 a-e may include a memory or tag for identifying thepart. For example, in some embodiments, each part 575 a-e includes anRFID tag with a numerical code to uniquely identify the part. Theinformation pertaining to the identification of each part 575 a-e may becommunicated to the game platform 550 through the peripheral 540. Inalternative embodiments, the toy parts 575 a-e may communicate with thegame platform 550 directly. In still other embodiments, the toy parts575 a-e may communicate with each other and provide combined informationto the game platform 550 either directly or through a peripheral 540. Inother embodiments, each toy part includes a rewritable memory.Information relating to the toy part may be stored in the memory. Forexample, information pertaining to the ownership of the toy part, theuse of the toy part in connection with one or more game platforms,achievements accomplished in the game while using the toy part, orattributes of the toy part within the virtual environment may be storedand updated in the memory. For example, as the user uses the toy part inconnection with playing a video game on a game platform, data relatingto accomplishments and challenges overcome by the user in the video gamemay be stored in the memory of the toy part. As another example, theuser may be given opportunities to modify certain virtual attributesassociated with one or more toy parts as he or she plays the video game.The stored information may be used in subsequent game sessions andacross various game platforms so that the virtual attributes of each toypart and each accessory part persist.

FIG. 6 is a flow diagram of a process for selecting and communicatingwith toy parts in accordance with aspects of the present invention. Insome embodiments the process is performed by a game platform, forexample as discussed with respect to FIG. 1. At block 605, the processidentifies toy parts. In some embodiments, the process may identify toyparts within a defined region. For example, the process may determinewhat toy parts are on the surface of a video game peripheral as shown inFIG. 5. In various embodiments, the toy parts may be identified by RFID,barcodes, or optical recognition. In one embodiment, identification oftoy parts includes a video game peripheral reading identifiers of thetoys and supplying the identifiers to a video game console.

In block 610, the process selects a toy part for communication. In someembodiments, the process may select multiple toy parts of a toy assemblyfor communication. The process may select the toy part by transmitting aselection command having an identifier matching the identifier of thetoy part. In many embodiments, the process expects to receive anacknowledgment of the selection from the toy part. When anacknowledgment is not received, the process may retransmit the selectioncommand or may signal a video game associated with the process that theselected toy is not available.

In block 615, the process configures a virtual character. The processmay configure the virtual character based on the identified parts. Insome embodiments, the identified parts may be from different characters.In some embodiments, the process may configure the virtual characterbased on configuration information indicating how the identified toyparts are connected. For example, the configuration information mayinclude the identification of coupled toy parts and informationregarding the connector and receptacle through which the toy parts arecoupled.

In block 620, the process communicates with the toy parts. For example,the process may read from a particular memory location of the toy partsor may write to a particular memory location of the toy parts. Invarious embodiments the process communicates with the toy parts duringgame, for example communicates relating to presence of a correspondingvirtual character in the game or changes to the states of the virtualcharacter. In many embodiments, the process expects to receive anacknowledgment or response from the toy parts, and when not received,the process may retransmit the command or may signal the video gameassociated with the process that the selected toy part is not available.The process thereafter returns.

FIG. 7 is a flow diagram of a process for conducting video game play inaccordance with aspects of the present invention. In some embodimentsthe process is performed by a game platform, for example as discussedwith respect to FIG. 1. In block 705, the process requests toy partidentification. In some embodiments, the process may identify toy partswithin a defined region. For example, the process may determine what toyparts are on the surface of a video game peripheral as shown in FIG. 5.In various embodiments, the toy parts may be identified by RFID,barcodes, or optical recognition. In one embodiment, identification oftoy parts includes a video game peripheral reading identifiers of thetoys and supplying the identifiers to a video game console.

In block 710, the process determines a toy configuration based on thetoy part identifications. In some embodiments, the process may use alookup table or other database to determine a configuration based on thetoy parts identified. In some embodiments, the process may communicatewith the toy parts to receive connection information indicating theother parts a particular toy part is connected to and an indication ofwhich connector of the toy part is used to make such connection.

At block 725, the process may generate a virtual character or compositevirtual character corresponding to a physical toy assembly includingeach of the identified toy parts.

In block 730, the process conducts video game play using the virtualcharacter or composite virtual character. As the virtual toy is used toprogress through the video game, data relating to accomplishments andchallenges overcome by the user in the video game may be stored in thememory of the toy parts of the toy assembly.

Thereafter the process returns.

FIG. 8 is a flow diagram of a process for conducting video game play inaccordance with aspects of the present invention. In some embodimentsthe process is performed by a game platform, for example as discussedwith respect to FIG. 1. In block 805, the process determines a toyconfiguration based on toy parts identified. In some embodiments, theprocess may use a lookup table or other database to determine aconfiguration based on the toy parts identified. In some embodiments,the process may communicate with the toy parts to receive connectioninformation indicating the other parts a particular toy part isconnected to and an indication of which connector of the toy part isused to make such connection.

In block 810, the process detects a change in the configuration of thephysical toy. In some embodiments, a change may be detected when anidentified toy part is removed from a defined area, for example, asurface of peripheral 550 shown in FIG. 5.

In block 815, the process may receive toy part identificationinformation. In some embodiments, the process may identify toy partslocated in a predefined region. In some embodiments, the process maydetermine the toy part identification only for the new toy parts added.

In block 820, the process may determine a new toy configuration. In someembodiments, the process may use a lookup table or other database todetermine a configuration based on the toy parts identified includingthe new toy part(s). In some embodiments, the process may communicatewith the toy parts to receive connection information indicating theother parts a particular toy part is connected to and an indication ofwhich connector of the toy part is used to make such connection.

In block 825, the process may conduct game play with a virtual characteror composite virtual character corresponding to the new toy assembly.Thereafter, the process returns.

FIG. 9 depicts a block diagram of a process for identification of one ormore toy assemblies by the game platform. In the present embodiment, thetoy assemblies comprise two parts—a top part and a bottom part. When atop toy part is properly connected to the bottom toy part a complete toyassembly is assembled. In some embodiments, the system will notrecognize toy parts that do not comprise a complete toy assembly. Inblock 910, the system starts up. At this time, the system is capable ofcommunicating with the toy parts and receive identification informationfor toy parts.

In block 920, the system determines if a complete toy assembly is incommunication with the game platform. If no complete toy assembly isdetected by the system, the system prompts the user to place a completetoy assembly in communication with the game platform at block 930.

In block 940, the system determines if more than one toy assembly is incommunication with the game platform. If only a single complete toyassembly is in communication with the game platform, the system candepict the toy assembly in the game environment for game play in block950. If multiple complete toy assemblies come into communication withthe game platform asynchronously, the system can determine therespective toy assemblies based on the timing of the communication ofthe toy parts with the system in block 970. For example, if firstcomplete toy assembly comprising toy part A and toy part B and a secondtoy assembly comprising toy part X and toy part Y are in communicationwith the game system, the game system can determine that the first toyassembly comprises toy part A and toy part B (as opposed to some othercombination with toy part X or toy part Y) because toy part A and toypart B are in communication with the system at or about the same time,and toy part X and toy part Y come into communication with the system ata different time. If however the first toy assembly and second toyassembly come into communication with the system at or about the sametime in block 960, the system may have difficulty identifying which toyparts constitute the respective toy assemblies, since four or more toyparts have been identified by the game platform at or about the sametime. In this situation, the user may be prompted to replace the toyassemblies in communication with the system at different times in block980.

After recognition and identification by the system, toy parts may beassociated with a player based on the toy part identification number.Therefore, the game can easily recognize two players using the same typeof parts and still update each toy's data based on player association.

In other embodiments, more sophisticated RFID chips may be utilized toprovide communication between the various toy parts and the gameplatform. For example, the first toy part may comprise an RFID chip thatprovides an indication of whether a second toy part is in contact withthe first toy part.

As discussed above, animating a composite virtual character as describedherein presents certain challenges. In accordance with aspects of theinvention, a process for defining animations for virtual characters thatmay be smoothly and cohesively applied to composite virtual charactersis described.

FIG. 10 is a flow diagram of a process for defining an animation for avirtual character's interchangeable body part in accordance with thepresent invention. In some embodiments the process is performed by acomputer, and in some embodiments the process is performed by a networkof computers. As will be discussed in more detail below, the processbegins with a generic virtual skeleton and then modifies the genericvirtual skeleton to reflect the specific features of the interchangeablebody part. The process then defines the animation for theinterchangeable body part using the modified virtual skeleton that hasthe bones of the interchangeable body part and generic bonescorresponding to the remaining generic body parts.

In block 1005, the process begins by defining a generic virtual skeletoncorresponding to a generic virtual character. FIG. 12 depicts anexemplary generic virtual skeleton in accordance with the presentinvention. The generic virtual skeleton 1200 of FIG. 12 is in the formof a humanoid with a generic torso body part 1210 and a generic legsbody part 1220, each having a plurality of bones and/or joints. However,the shape, form, number, and arrangement of the bones and/or joints inthe virtual skeleton are merely exemplary, and essentially any form of ageneric virtual skeleton may be adopted. The generic virtual skeletonmay be the basis for a plurality of virtual characters. Thus, as will beappreciated more fully below, the virtual skeletons of a plurality ofvirtual characters may be derived from the generic virtual skeleton andshare one or more of the generic virtual skeleton's bones.

Returning to FIG. 10, in block 1010, the process modifies the genericvirtual skeleton to reflect the specific features and form of thevirtual character's interchangeable body part. In some embodiments, themodification may be made based on inputs provided by an animator or gamedesigner. In some embodiments, generic bones may be removed, offset, orotherwise modified such that the bones of the generic virtual skeletonbecome representative of the bones of the virtual character'sinterchangeable body part. In addition, or in the alternative, new bonesmay be added. The result of the modifications is a modified virtualskeleton that includes the unique set of bones representative of thevirtual character's interchangeable body part and the generic bones ofthe remaining generic body parts. FIG. 13 depicts an exemplary modifiedvirtual skeleton in accordance with the present invention. In theembodiment of FIG. 13, the virtual character has an interchangeable legsbody part that takes the form of squid-like tentacles 1320. Thus, thegeneric legs body part of the generic virtual skeleton has been modifiedto reflect the virtual character's squid-like tentacles. The remainderof the body (i.e., torso 1310) remains generic. The process thenproceeds to block 1015 of FIG. 10.

In block 1015, the process defines the animation for the interchangeablebody part using the modified virtual skeleton. In some embodiments, theanimation may be defined based on inputs by an animator or gamedesigner. In some embodiments, the defined animation controls the bonesin the virtual character's interchangeable body part, the generic bonescorresponding to the remaining body parts of the generic virtualcharacter, or both. Following the above example, an animator providinginformation defining an attack animation clip for the virtualcharacter's squid-like legs body part 1320 may provide inputs specifyingthe animation to control one or more unique tentacle bones. In addition,or in the alternative, the animator may provide inputs specifying howthe animation controls one or more generic bones in the generic torsobody part 1310. As discussed in more detail below with respect to FIG.11, by specifying how the animation clip controls the generic bones ingeneric torso 1310, the animation clip may be layered onto other virtualcharacters that share the same generic bones. The ability to layeranimations defined for one virtual character onto other virtualcharacters provides an efficient and effective process for smoothly andcohesively animating composite virtual characters.

In block 1020, the process assigns weights to one or more bones in themodified virtual skeleton. In some embodiments, the weights may beassigned based on inputs by an animator or game designer. These weightsspecify the effect of the animation relative to other animations thatmay be layered on the virtual character. In some embodiments, this stepmay be skipped, and no weights are assigned.

The process then returns.

FIG. 11 is a flow diagram of a process for animating composite virtualcharacters in accordance with the present invention. In some embodimentsthe process is performed by a game platform, for example as discussedwith respect to FIG. 1. At block 1105, the process determines the bodyparts of the virtual characters that comprise the composite virtualcharacter. For example, a composite virtual character may be comprisedof two body parts, e.g., a torso body part from a first virtualcharacter and a legs body part from a second virtual character. FIG. 14depicts an exemplary virtual skeleton of a composite virtual charactercomprising torso 1410 from a first virtual character and legs 1420 froma second virtual character. In the example of FIG. 14, legs body part ofthe second virtual character 1420 is squid-like and in the form oftentacles. Torso body part of the first virtual character 1410 ishumanoid but one-handed. In some embodiments, these virtual skeletonswere defined in accordance with the process defined with respect to FIG.10.

At block 1110, the process determines whether body parts remain to beprocessed for the composite virtual character. If no body parts need tobe processed for the composite virtual character, the process returns.If body parts need to be processed for the composite virtual character,the process proceeds to block 1115. Referring to the above example ofanimating the composite virtual character corresponding to the virtualskeleton of FIG. 14, the process may determine that the torso and/orlegs body parts of the composite virtual character need to be animatedand thus proceed to block 1115. On the other hand, if all body partshave been animated or no animations need to be applied, the processreturns.

At block 1115, the process selects a body part of the composite virtualcharacter for processing and determines the defined animationscorresponding to the selected body part that need to be applied.Referring again to the example of animating the composite virtualcharacter corresponding to the virtual skeleton of FIG. 14, the processmay select for processing the torso body part 1410 of the compositevirtual character.

At block 1120, the process determines whether animations defined for theselected body part remain to be applied to the composite virtualcharacter. If no animations corresponding to the selected body partremain to be applied to the composite virtual character, the processreturns to block 1110. If animations remain, the process proceeds tostep 1125. Continuing the example of animating the composite virtualcharacter corresponding to the virtual skeleton of FIG. 14, the processmay determine that an attack animation and run animation defined fortorso 1410 of the composite virtual character are to be applied to thecomposite virtual character. Because the process determines thatanimations remain to be applied, the process proceeds to block 1125. Insome embodiments, the animations defined for a particular body part maybe defined in accordance with the process of FIG. 10.

At block 1125, the process selects an animation defined for the selectedbody part to apply to the composite virtual character. The process thenproceeds to block 1130. Following the example of animating the compositevirtual character corresponding to the virtual skeleton of FIG. 14, theprocess may select an attack animation defined for torso 1410 of thecomposite virtual character.

At block 1130, the process applies the animation defined for theselected body part to the selected body part. In some cases, theanimation may apply to all of the bones in the selected body part. Inother cases, the animation may affect a subset or none of the bones inthe selected body part. The process then proceeds to step 1130.Referring to the example of animating the composite virtual charactercorresponding to the virtual skeleton of FIG. 14, the process may applythe attack animation defined for torso 1410 of the composite virtualcharacter to one or more applicable bones in torso 1410.

At block 1135, the process determines whether generic bones exist inbody parts other than the selected body part. If generic bones exist inthe other body parts, the process proceeds to block 1140. If genericbones do not exist in the other body parts, the process returns to block1120. Following the example of animating the composite virtual charactercorresponding to the virtual skeleton of FIG. 14, the process maydetermine that no generic bones exist in the squid-like tentacle legsbody part of the composite virtual character. Because generic bones donot exist in the legs body part, the process would proceed to block1120. On the other hand, if generic bones did exist in the legs bodypart, the process would proceed to block 1140.

At block 1140, the process applies the animation defined for theselected body part to the generic bones in other body parts. The processthen returns to block 1120. Following the above example, the process mayapply the animation defined for torso 1410 to generic bones in legs1420. As discussed above, the animations defined for a particular bodypart (in this case, the torso body part) may be animated using a virtualskeleton that has the unique set of bones designed for that body partand generic bones for the remaining body parts (in this case, the legsbody part). Thus, if generic bones exist in the legs body part of thecomposite virtual character, the animation may be layered onto thosegeneric bones.

The processes described in FIGS. 10 and 11 allows animationsindependently defined for one virtual character to be applied to anothervirtual character, thus providing an improved method for animatingcomposite virtual characters. The processes outlined in FIGS. 10 and 11are merely exemplary, and it should be appreciated that certain stepsmay occur in different orders or simultaneously and still conform to theteachings of the invention. For example, in some embodiments, theselection and application of animations to the bones in the selectedbody part and generic bones in other body parts as described in blocks1125-1140 may be executed simultaneously for a single pose of the entirecomposite skeleton.

Although the invention has been discussed with respect to variousembodiments, it should be recognized that the invention comprises thenovel and non-obvious claims supported by this disclosure.

What is claimed is:
 1. A computer-implemented method for animating acomposite virtual character, comprising: displaying a composite virtualcharacter comprising a first part from a first virtual character and asecond part from a second virtual character, and animating the compositevirtual character, wherein animating the composite virtual charactercomprises substantially simultaneously animating first portions of thefirst part from the first virtual character and second portions of thesecond part from the second virtual character using an animation definedfor the first virtual character and animating at least first portions ofthe second part from the second virtual character using an animationdefined for the second virtual character.
 2. The computer-implementedmethod of claim 1, wherein animating the composite character furthercomprises determining whether one or more generic bones exist in thesecond part from the second virtual character.
 3. Thecomputer-implemented method of claim 2, wherein the second portions ofthe second part from the second virtual character comprise the genericbones.
 4. The computer-implemented method of claim 1, wherein animatingthe composite virtual character further comprises animating at leastsecond portions of the first part of the first virtual character usingthe animation defined for the second virtual character.
 5. The computerimplemented method of claim 4, wherein the first portions of the firstpart of the first virtual character comprise a first set of bones of thefirst virtual character and the second portions of the first part of thefirst virtual character comprise a second set of bones of the firstvirtual character, the second set of bones not including any bones ofthe first set of bones.
 6. The computer implemented method of claim 5,wherein the first set of bones of the first virtual character and thesecond set of bones of the first virtual character are predefined forthe first virtual character.
 7. The computer implemented method of claim6, wherein the second set of bones comprise generic bones.
 8. Thecomputer implemented method of claim 1, further comprising animatingsecond portions of the second part from the second virtual characterusing the animation defined for the second virtual character.
 9. Thecomputer implemented method of claim 1, wherein animating secondportions of the second part from the second virtual character using theanimation defined for the first virtual character and the animationdefined for the second virtual character is performed using a weightingof the animation defined for the first virtual character and a weightingof the animation defined for the second virtual character.
 10. A videogame system, comprising: a game device having an input device and aprocessor for executing program code for providing for play of avideogame; a plurality of physical parts from a plurality of toy figuresthat are physically combinable to form a composite toy assembly, theplurality of physical parts including memory providing a uniqueidentification of each physical part and configured to communicate saidunique identification; said program code having instructions forproviding a graphical display of a composite virtual characterrepresenting said composite toy assembly, said composite virtualcharacter comprised of virtual parts representing physical partscombined to form the composite toy assembly; said program code furtherhaving instructions for providing a virtual environment for saidcomposite virtual character; wherein said movement and actions of saidcomposite virtual character are controlled, in response to inputsreceived by said input device, by at least one animation defined for atleast one of said virtual parts and at least one other animation definedfor at least one other one of said virtual parts, with the at least oneanimation defined for at least one of said virtual parts completelycontrolling movement and actions of some elements of said compositevirtual character and partially controlling movement and actions ofother elements of said composite virtual character.
 11. The video gamesystem of claim 10, wherein the plurality of physical parts arephysically combinable by way of magnetic couplings, the magneticcouplings being part of the physical parts.
 12. The video game system ofclaim 10, wherein the at least one other animation defined for at leastone other one of said virtual parts partially controls movement andactions of the other elements of said composite virtual character. 13.The video game system of claim 10, wherein the some elements and otherelements of said composite virtual character comprise bones.
 14. Thevideo game system of claim 13, wherein each of the bones of thecomposite virtual character correspond to bones of the virtual parts,and the at least one animation defined for at least one of said virtualparts completely controls some of the bones corresponding to bones ofsaid at least one of said virtual parts and partially controls movementand actions of other bones not corresponding to bones of said at leastone of said virtual parts.
 15. A computer implemented method includinganimating a character comprised of different portions derived from othercharacters, some of the different portions including body elements of afirst type and some of the different portions including body elements ofa second type, the method comprising: applying, for each of thedifferent portions including body elements of the first type, ananimation routine defined for the different portion for the othercharacter from which the different portion was derived for the bodyelements of the first type; and applying in a weighted manner, for eachof the different portions including body elements of the second type,the animation routines defined for the different portion for the othercharacters for the body elements of the second type.
 16. The method ofclaim 15, wherein the body elements of the first type and the bodyelements of the second type are bones.
 17. The method of claim 15,further comprising determining the different portions derived from othercharacters by at least: receiving an indication of physical parts oftoys combined to form a toy assembly
 18. A method of animating acharacter defined by a combination of elements of other characters, someof whose elements are considered generic to a plurality of charactersand some of whose elements are considered specific to each of the othercharacters, with no animation routines being predefined for thecharacter but with animation routines being predefined for the othercharacters, the method comprising: determining characters serving as asource of elements of the character; receiving a command for display ofa particular animation routine for the character; generating theparticular animation routine for the character by: applyingcorresponding character specific predefined animation routines toelements of the character that are considered specific to the charactersserving as the source of elements of the character, and applyingweighted sums of the corresponding character specific predefinedanimation routines to elements of the character that are consideredgeneric to the characters serving as the source of elements of thecharacter.